#ifndef __LoadController_H__
#define __LoadController_H__

#include <IReferenceCounted.h>

#include "PositionObject.h"

class LoadControlledObject;

class LoadController:public virtual irr::IReferenceCounted{
public:
	virtual void addToTracking(LoadControlledObject*obj)=0;
	virtual void removeFromTracking(LoadControlledObject*obj)=0;
	virtual void removeAllTracking()=0;

	/***
	 * Проверяет каждый элемент по списку. Если проверять нечего (кончились объекты), то должна вернуть FALSE
	 * */
	virtual bool checkNext()=0;

	/***
	 * Должна устанавить счётчик проверки в самое начало
	 * */
	virtual void resetCheck()=0;
};

void setDefaultLoadController(LoadController*loadController);
LoadController*getDefaultLoadController();
#endif
